home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mastering Microsoft Visual Basic 5
/
Mastering Microsoft Visual Basic 5.ISO
/
mvb5.mdb
/
Item.json
< prev
next >
Wrap
JavaScript Object Notation
|
1997-02-07
|
68KB
{
"schema": {
"ItemId": "Text (32)",
"Parent": "Text (50)",
"SortPath": "Double",
"ItemTitle": "Text (100)",
"ItemType": "Text (50)"
},
"data": [
{
"ItemId": "course",
"SortPath": 1,
"ItemTitle": "Welcome to Mastering Visual Basic 5",
"ItemType": "chptfolder"
},
{
"ItemId": "labs",
"SortPath": 2,
"ItemTitle": "Labs",
"ItemType": "labfolder"
},
{
"ItemId": "mm",
"SortPath": 3,
"ItemTitle": "Multimedia",
"ItemType": "chptfolder"
},
{
"ItemId": "sampcode",
"SortPath": 4,
"ItemTitle": "Sample Code",
"ItemType": "chptfolder"
},
{
"ItemId": "selfcheck",
"SortPath": 5,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkfolder"
},
{
"ItemId": "articles",
"SortPath": 7,
"ItemTitle": "Articles and Whitepapers",
"ItemType": "librFolder"
},
{
"ItemId": "kb",
"SortPath": 8,
"ItemTitle": "Knowledge Base ",
"ItemType": "librleaf"
},
{
"ItemId": "sampapps",
"SortPath": 9,
"ItemTitle": "Sample Applications",
"ItemType": "librleaf"
},
{
"ItemId": "books",
"SortPath": 10,
"ItemTitle": "Books",
"ItemType": "librFolder"
},
{
"ItemId": "resources",
"SortPath": 11,
"ItemTitle": "Resources",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500565",
"Parent": "MVB500531",
"SortPath": 3,
"ItemTitle": "Debugging a Component",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500566",
"Parent": "MVB500531",
"SortPath": 1,
"ItemTitle": "Setting Up a Test Project",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500567",
"Parent": "MVB500531",
"SortPath": 4,
"ItemTitle": "Error Handling Styles",
"ItemType": "chptleaf"
},
{
"ItemId": "LIBRARY",
"SortPath": 6,
"ItemTitle": "Library",
"ItemType": "librleaf"
},
{
"ItemId": "MVB500819",
"Parent": "MVB500373",
"SortPath": 1,
"ItemTitle": "Overview ",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500482",
"Parent": "MVB500480",
"SortPath": 2,
"ItemTitle": "Microsoft Press",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500483",
"Parent": "MVB500482",
"SortPath": 1,
"ItemTitle": "Ordering Information",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500484",
"Parent": "MVB500480",
"SortPath": 3,
"ItemTitle": "Microsoft Systems Journal",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500485",
"Parent": "MVB500480",
"SortPath": 4,
"ItemTitle": "The Cobb Group",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500486",
"Parent": "MVB500480",
"SortPath": 6,
"ItemTitle": "Pinnacle Publishing",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500492",
"Parent": "MVB500706",
"SortPath": 1,
"ItemTitle": "The Microsoft Certified Professional Program",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500493",
"Parent": "MVB500492",
"SortPath": 1,
"ItemTitle": "Microsoft Certified Systems Engineer",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500494",
"Parent": "MVB500492",
"SortPath": 2,
"ItemTitle": "Microsoft Certified Solution Developer",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500495",
"Parent": "MVB500492",
"SortPath": 3,
"ItemTitle": "Microsoft Certified Product Specialist",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500496",
"Parent": "MVB500492",
"SortPath": 4,
"ItemTitle": "MCPS Areas of Specialization",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500497",
"Parent": "MVB500492",
"SortPath": 5,
"ItemTitle": "Microsoft Certified Trainer",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500498",
"Parent": "MVB500706",
"SortPath": 2,
"ItemTitle": "Microsoft Logo Programs",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500499",
"Parent": "MVB500498",
"SortPath": 1,
"ItemTitle": "Powered by Microsoft BackOffice Logo Program",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500500",
"Parent": "MVB500498",
"SortPath": 2,
"ItemTitle": "Windows 95 Logo Program",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500501",
"Parent": "MVB500706",
"SortPath": 3,
"ItemTitle": "The Microsoft Solution Provider Program",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500502",
"Parent": "MVB500481",
"SortPath": 1,
"ItemTitle": "Events",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500503",
"Parent": "MVB500481",
"SortPath": 3,
"ItemTitle": "Mailing Lists",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500504",
"Parent": "MVB500479",
"SortPath": 3,
"ItemTitle": "Self-Paced Training",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500569",
"Parent": "MVB500223",
"SortPath": 5,
"ItemTitle": "Compiling an Application",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500650",
"Parent": "MVB500393",
"SortPath": 4,
"ItemTitle": "Using Interfaces",
"ItemType": "leaf"
},
{
"ItemId": "MVB500659",
"Parent": "MVB500665",
"SortPath": 3,
"ItemTitle": "Events vs. Callbacks",
"ItemType": "leaf"
},
{
"ItemId": "MVB500699",
"Parent": "MVB500537",
"SortPath": 5,
"ItemTitle": "Using Personal Web Server",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500820",
"Parent": "MVB500373",
"SortPath": 2,
"ItemTitle": "Declaring DLLs",
"ItemType": "chptFolder"
},
{
"ItemId": "MVB500917",
"Parent": "MVB500536",
"SortPath": 5,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500414",
"Parent": "course",
"SortPath": 7,
"ItemTitle": "Chapter 7: Creating ActiveX Code Components",
"ItemType": "folder"
},
{
"ItemId": "MVB500392",
"Parent": "course",
"SortPath": 6,
"ItemTitle": "Chapter 6: Creating ActiveX Clients",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500223",
"Parent": "course",
"SortPath": 1,
"ItemTitle": "Chapter 1: Visual Basic Review",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500281",
"Parent": "course",
"SortPath": 2,
"ItemTitle": "Chapter 2: Using the Data Control",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500305",
"Parent": "course",
"SortPath": 3,
"ItemTitle": "Chapter 3: Using Data Access Objects",
"ItemType": "folder"
},
{
"ItemId": "MVB500339",
"Parent": "course",
"SortPath": 4,
"ItemTitle": "Chapter 4: Advanced Database Development",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500373",
"Parent": "course",
"SortPath": 5,
"ItemTitle": "Chapter 5: Using Dynamic-Link Libraries",
"ItemType": "folder"
},
{
"ItemId": "MVB500534",
"Parent": "course",
"SortPath": 8,
"ItemTitle": "Chapter 8: Creating ActiveX Controls",
"ItemType": "folder"
},
{
"ItemId": "MVB500535",
"Parent": "course",
"SortPath": 10,
"ItemTitle": "Chapter 10: Creating and Using ActiveX Documents",
"ItemType": "folder"
},
{
"ItemId": "MVB500457",
"Parent": "course",
"SortPath": 12,
"ItemTitle": "Chapter 12: Application Setup and Optimization",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500538",
"Parent": "MVB500223",
"SortPath": 4,
"ItemTitle": "Validating Input and Handling Errors",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500539",
"Parent": "MVB500535",
"SortPath": 1,
"ItemTitle": "Overview",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500570",
"Parent": "MVB500539",
"SortPath": 1,
"ItemTitle": "Introduction to ActiveX Documents",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500571",
"Parent": "MVB500539",
"SortPath": 4,
"ItemTitle": "Common ActiveX Document Containers",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500572",
"Parent": "MVB500539",
"SortPath": 5,
"ItemTitle": "ActiveX Documents in Visual Basic ",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500573",
"Parent": "MVB500540",
"SortPath": 5,
"ItemTitle": "User Document Event Behavior",
"ItemType": "leaf"
},
{
"ItemId": "MVB500574",
"Parent": "MVB500660",
"SortPath": 2,
"ItemTitle": "Using Global References",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500660",
"Parent": "MVB500535",
"SortPath": 4,
"ItemTitle": "Multiple Document Projects",
"ItemType": "folder"
},
{
"ItemId": "MVB500700",
"Parent": "MVB500480",
"SortPath": 1,
"ItemTitle": "Microsoft Developer Network (MSDN)",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500701",
"Parent": "MVB500505",
"SortPath": 5,
"ItemTitle": "Mastering Microsoft Office 97 Development",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500702",
"Parent": "MVB500475",
"SortPath": 6,
"ItemTitle": "Microsoft Mastering Series",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500703",
"Parent": "MVB500475",
"SortPath": 12,
"ItemTitle": "Microsoft Visual Basic Cool Links Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500704",
"Parent": "MVB500475",
"SortPath": 8,
"ItemTitle": "Microsoft Solutions Framework Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500705",
"Parent": "MVB500475",
"SortPath": 9,
"ItemTitle": "Microsoft TechNet",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500706",
"Parent": "resources",
"SortPath": 1,
"ItemTitle": "Microsoft Programs",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500707",
"Parent": "MVB500477",
"SortPath": 4,
"ItemTitle": "Accessing the World of Information: ODBC",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500708",
"Parent": "MVB500281",
"SortPath": 1,
"ItemTitle": "Overview of Data Access",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500808",
"Parent": "MVB500475",
"SortPath": 7,
"ItemTitle": "Microsoft Site Builder Workshop",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500475",
"Parent": "resources",
"SortPath": 6,
"ItemTitle": "World Wide Web Sites",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500709",
"Parent": "MVB500284",
"SortPath": 1,
"ItemTitle": "Accessing Data with the Data Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500710",
"Parent": "MVB500284",
"SortPath": 3,
"ItemTitle": "The Recordset Object",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500711",
"Parent": "books",
"SortPath": 2,
"ItemTitle": "Inside COM",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500712",
"Parent": "MVB500475",
"SortPath": 16,
"ItemTitle": "Microsoft Visual Basic Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500713",
"Parent": "MVB500475",
"SortPath": 34,
"ItemTitle": "Visual Basic for Applications Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500714",
"Parent": "MVB500475",
"SortPath": 1,
"ItemTitle": "Advanced Visual Basic",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500715",
"Parent": "MVB500475",
"SortPath": 2,
"ItemTitle": "Ask the VB Pro",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500716",
"Parent": "MVB500475",
"SortPath": 27,
"ItemTitle": "The BASIC Archives",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500718",
"Parent": "MVB500475",
"SortPath": 3,
"ItemTitle": "Chris & Tim's Rapid Application Development Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500719",
"Parent": "MVB500475",
"SortPath": 4,
"ItemTitle": "Entisoft Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500720",
"Parent": "MVB500475",
"SortPath": 5,
"ItemTitle": "Jens Balchen Jr. - Visual Basic Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500721",
"Parent": "MVB500475",
"SortPath": 24,
"ItemTitle": "Mike Dixon's QAID Pages",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500722",
"Parent": "MVB500475",
"SortPath": 25,
"ItemTitle": "Paul Treffers Visual Basic Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500952",
"Parent": "selfcheck",
"SortPath": 1,
"ItemTitle": "Chapter 1: Visual Basic Review",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500953",
"Parent": "selfcheck",
"SortPath": 2,
"ItemTitle": "Chapter 2: Using the Data Control",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500954",
"Parent": "selfcheck",
"SortPath": 3,
"ItemTitle": "Chapter 3: Using Data Access Objects",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500955",
"Parent": "selfcheck",
"SortPath": 4,
"ItemTitle": "Chapter 4: Advanced Database Development",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500956",
"Parent": "selfcheck",
"SortPath": 5,
"ItemTitle": "Chapter 5: Using Dynamic-Link Libraries",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500957",
"Parent": "selfcheck",
"SortPath": 6,
"ItemTitle": "Chapter 6: Creating ActiveX Clients",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500958",
"Parent": "selfcheck",
"SortPath": 7,
"ItemTitle": "Chapter 7: Creating ActiveX Code Components",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500959",
"Parent": "selfcheck",
"SortPath": 8,
"ItemTitle": "Chapter 8: Creating ActiveX Controls",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500961",
"Parent": "selfcheck",
"SortPath": 9,
"ItemTitle": "Chapter 9: Using ActiveX Components on a Web Page",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500962",
"Parent": "selfcheck",
"SortPath": 10,
"ItemTitle": "Chapter 10: Creating and Using ActiveX Documents",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500963",
"Parent": "selfcheck",
"SortPath": 11,
"ItemTitle": "Chapter 11: Creating Internet-Aware Applications",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500964",
"Parent": "selfcheck",
"SortPath": 12,
"ItemTitle": "Chapter 12: Application Setup and Optimization",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB501113",
"Parent": "MVB500230",
"SortPath": 6,
"ItemTitle": "Life of Variables",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB501114",
"Parent": "mm",
"SortPath": 1,
"ItemTitle": "Chapter 1: Visual Basic Review",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501115",
"Parent": "mm",
"SortPath": 5,
"ItemTitle": "Chapter 5: Using Dynamic-Link Libraries",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501116",
"Parent": "mm",
"SortPath": 2,
"ItemTitle": "Chapter 2: Using the Data Control",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501117",
"Parent": "mm",
"SortPath": 6,
"ItemTitle": "Chapter 6: Creating ActiveX Clients",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501118",
"Parent": "mm",
"SortPath": 8,
"ItemTitle": "Chapter 8: Creating ActiveX Controls",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501119",
"Parent": "mm",
"SortPath": 9,
"ItemTitle": "Chapter 9: Using ActiveX Components on a Web Page",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501431",
"Parent": "sampcode",
"SortPath": 1,
"ItemTitle": "Chapter 1: Visual Basic Review",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501433",
"Parent": "sampcode",
"SortPath": 2,
"ItemTitle": "Chapter 3: Using Data Access Objects",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501434",
"Parent": "sampcode",
"SortPath": 3,
"ItemTitle": "Chapter 4: Advanced Database Development",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500821",
"Parent": "MVB500820",
"SortPath": 3,
"ItemTitle": "Declaring an Argument as Any",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500822",
"Parent": "MVB500373",
"SortPath": 3,
"ItemTitle": "Calling DLLs",
"ItemType": "chptFolder"
},
{
"ItemId": "MVB500823",
"Parent": "MVB500373",
"SortPath": 4,
"ItemTitle": "Additional DLL Information",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500824",
"Parent": "MVB500416",
"SortPath": 7,
"ItemTitle": "Using the Class Builder",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500830",
"Parent": "MVB500819",
"SortPath": 2,
"ItemTitle": "Windows DLLs",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500831",
"Parent": "MVB500822",
"SortPath": 2,
"ItemTitle": "Passing Arguments by Value or by Reference",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500833",
"Parent": "MVB500670",
"SortPath": 5,
"ItemTitle": "Sending and Retrieving Data",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500835",
"Parent": "MVB500673",
"SortPath": 4,
"ItemTitle": "Coding for Synchronous Operation",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500102",
"Parent": "MVB500101",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating Forms",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500103",
"Parent": "MVB500101",
"SortPath": 2,
"ItemTitle": "Exercise 2: Adding Code",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500104",
"Parent": "MVB500101",
"SortPath": 5,
"ItemTitle": "Exercise 5: Creating an Executable File",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500111",
"Parent": "MVB500101",
"SortPath": 4,
"ItemTitle": "Exercise 4: Restricting Input",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500723",
"Parent": "MVB500475",
"SortPath": 28,
"ItemTitle": "The Phil Weber Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500724",
"Parent": "MVB500475",
"SortPath": 26,
"ItemTitle": "TegoSoft Self-Study Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500725",
"Parent": "MVB500475",
"SortPath": 29,
"ItemTitle": "The Toolbox Visual Basic Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500726",
"Parent": "MVB500475",
"SortPath": 33,
"ItemTitle": "Visual Basic Education & Certification Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500727",
"Parent": "MVB500475",
"SortPath": 35,
"ItemTitle": "Visual Basic Programmer's Journal Web Site",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500728",
"Parent": "MVB500475",
"SortPath": 30,
"ItemTitle": "The Visual Basic Resource List",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500729",
"Parent": "MVB500475",
"SortPath": 36,
"ItemTitle": "Visual Basic Starting Point",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500730",
"Parent": "MVB500475",
"SortPath": 31,
"ItemTitle": "VB4UandMe Web Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500731",
"Parent": "MVB500475",
"SortPath": 32,
"ItemTitle": "VBxtras, Inc. Home Page",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500732",
"Parent": "MVB500475",
"SortPath": 37,
"ItemTitle": "Wild Web of Visual Basic",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500734",
"Parent": "MVB500480",
"SortPath": 6,
"ItemTitle": "Fawcette Technical Publications",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500735",
"Parent": "books",
"SortPath": 1,
"ItemTitle": "Books Available from Microsoft Press",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500736",
"Parent": "MVB500670",
"SortPath": 1,
"ItemTitle": "Introduction to the Winsock Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500737",
"Parent": "MVB500670",
"SortPath": 2,
"ItemTitle": "Basic Operations of the Winsock Control",
"ItemType": "leaf"
},
{
"ItemId": "MVB500739",
"Parent": "MVB500673",
"SortPath": 1,
"ItemTitle": "Introduction to the Internet Transfer Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500121",
"Parent": "MVB500101",
"SortPath": 3,
"ItemTitle": "Exercise 3: Creating an Error-Handling Routine",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500131",
"Parent": "MVB500130",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating a Data Entry Form",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500133",
"Parent": "MVB500130",
"SortPath": 2,
"ItemTitle": "Exercise 2: Using the DBCombo Control",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500134",
"Parent": "MVB500130",
"SortPath": 3,
"ItemTitle": "Exercise 3: Using the Validate Event",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500141",
"Parent": "MVB500140",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating and Navigating a Recordset",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500142",
"Parent": "MVB500140",
"SortPath": 2,
"ItemTitle": "Exercise 2: Adding and Editing Records",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500143",
"Parent": "MVB500140",
"SortPath": 3,
"ItemTitle": "Exercise 3: Finding Records",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500144",
"Parent": "MVB500140",
"SortPath": 4,
"ItemTitle": "Exercise 4: Using Queries",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500145",
"Parent": "MVB500140",
"SortPath": 5,
"ItemTitle": "Exercise 5: (Optional) Disabling Buttons During Edit",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500146",
"Parent": "MVB500140",
"SortPath": 6,
"ItemTitle": "Exercise 6: (Optional) Using a Parameter Query",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500160",
"Parent": "MVB500159",
"SortPath": 1,
"ItemTitle": "Exercise 1: Handling Referential Integrity Violations",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500161",
"Parent": "MVB500159",
"SortPath": 2,
"ItemTitle": "Exercise 2: Multi-User Issues",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500162",
"Parent": "MVB500159",
"SortPath": 3,
"ItemTitle": "Exercise 3: (Optional) Using ODBCDirect",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500171",
"Parent": "MVB500170",
"SortPath": 1,
"ItemTitle": "Exercise 1: Locating the Windows Folder",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500536",
"Parent": "course",
"SortPath": 9,
"ItemTitle": "Chapter 9: Using ActiveX Components on a Web Page",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500537",
"Parent": "course",
"SortPath": 11,
"ItemTitle": "Chapter 11: Creating Internet-Aware Applications",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500540",
"Parent": "MVB500535",
"SortPath": 2,
"ItemTitle": "Working with ActiveX Document Projects",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500541",
"Parent": "MVB500540",
"SortPath": 1,
"ItemTitle": "Elements of an ActiveX Document Project",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500542",
"Parent": "MVB500540",
"SortPath": 2,
"ItemTitle": "Creating an ActiveX Document Project",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500543",
"Parent": "MVB500535",
"SortPath": 3,
"ItemTitle": "Testing and Debugging ActiveX Documents",
"ItemType": "folder"
},
{
"ItemId": "MVB500851",
"Parent": "MVB500676",
"SortPath": 1,
"ItemTitle": "Static vs. Active Web Pages",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500172",
"Parent": "MVB500170",
"SortPath": 2,
"ItemTitle": "Exercise 2: Creating a Topmost Window",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500176",
"Parent": "MVB500175",
"SortPath": 1,
"ItemTitle": "Exercise 1: Controlling Microsoft Excel",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500186",
"Parent": "MVB500185",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating a Code Component",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500187",
"Parent": "MVB500185",
"SortPath": 2,
"ItemTitle": "Exercise 2: Debugging and Error Handling",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500188",
"Parent": "MVB500185",
"SortPath": 3,
"ItemTitle": "Exercise 3: Adding Component Information and Help",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500189",
"Parent": "MVB500185",
"SortPath": 4,
"ItemTitle": "Exercise 4: Defining and Using Events",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500191",
"Parent": "MVB500185",
"SortPath": 5,
"ItemTitle": "Exercise 6: (Optional) Creating an Asynchronous Method",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500214",
"Parent": "MVB500213",
"SortPath": 1,
"ItemTitle": "Exercise 1: Using Resource Files",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500215",
"Parent": "MVB500213",
"SortPath": 2,
"ItemTitle": "Exercise 2: Using the Registry",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500217",
"Parent": "MVB500213",
"SortPath": 3,
"ItemTitle": "Exercise 3: Using the Setup Wizard",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500544",
"Parent": "MVB500543",
"SortPath": 1,
"ItemTitle": "Running the Project Within Visual Basic",
"ItemType": "leaf"
},
{
"ItemId": "MVB500545",
"Parent": "MVB500543",
"SortPath": 2,
"ItemTitle": "Debugging an ActiveX Document",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500546",
"Parent": "MVB500535",
"SortPath": 6,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500547",
"Parent": "MVB500615",
"SortPath": 2,
"ItemTitle": "Exercise 2: Adding Properties to ActiveX Documents",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500548",
"Parent": "MVB500615",
"SortPath": 3,
"ItemTitle": "Exercise 3: Extending User Interface Functionality",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500549",
"Parent": "MVB500660",
"SortPath": 1,
"ItemTitle": "Navigating Between Documents",
"ItemType": "leaf"
},
{
"ItemId": "MVB500613",
"Parent": "MVB500615",
"SortPath": 1,
"ItemTitle": "Exercise 1: Converting Forms to ActiveX Documents",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500616",
"Parent": "MVB500584",
"SortPath": 1,
"ItemTitle": "Establishing a Basis for Testing",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500661",
"Parent": "MVB500540",
"SortPath": 6,
"ItemTitle": "Differences Between Document Containers",
"ItemType": "leaf"
},
{
"ItemId": "MVB500814",
"Parent": "MVB500699",
"SortPath": 2,
"ItemTitle": "Configuring Personal Web Server",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500190",
"Parent": "MVB500185",
"SortPath": 5,
"ItemTitle": "Exercise 5: Compiling and Registering the Component",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500218",
"Parent": "MVB500213",
"SortPath": 4,
"ItemTitle": "Exercise 4: (Optional) Using Visual Basic Code Profiler",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500848",
"Parent": "MVB500175",
"SortPath": 2,
"ItemTitle": "Exercise 2: Creating a Client Application",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500855",
"Parent": "MVB500223",
"SortPath": 1,
"ItemTitle": "Understanding Visual Basic Development",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500856",
"Parent": "MVB500855",
"SortPath": 1,
"ItemTitle": "Understanding Event-Driven Programming",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500857",
"Parent": "MVB500855",
"SortPath": 2,
"ItemTitle": "Creating a Simple Visual Basic Application",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500863",
"Parent": "MVB500569",
"SortPath": 2,
"ItemTitle": "Compiling to Native Code",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500867",
"Parent": "MVB500475",
"SortPath": 18,
"ItemTitle": "Microsoft Visual Basic Product Documentation",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500869",
"Parent": "MVB500475",
"SortPath": 19,
"ItemTitle": "Microsoft Visual Basic Technical Information",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500871",
"Parent": "MVB500475",
"SortPath": 20,
"ItemTitle": "Microsoft Visual Basic Technical Support",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500738",
"Parent": "MVB500670",
"SortPath": 3,
"ItemTitle": "Coding a Winsock Server",
"ItemType": "leaf"
},
{
"ItemId": "MVB500740",
"Parent": "MVB500673",
"SortPath": 2,
"ItemTitle": "Basic Operations of the Internet Transfer Control",
"ItemType": "leaf"
},
{
"ItemId": "MVB500741",
"Parent": "MVB500673",
"SortPath": 3,
"ItemTitle": "Coding for Asynchronous Operation",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500742",
"Parent": "MVB500644",
"SortPath": 2,
"ItemTitle": "Determining Where Server Components Run",
"ItemType": "leaf"
},
{
"ItemId": "MVB500743",
"Parent": "MVB500647",
"SortPath": 2,
"ItemTitle": "Declaring Object Variables",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500744",
"Parent": "MVB500699",
"SortPath": 1,
"ItemTitle": "Installing Personal Web Server",
"ItemType": "leaf"
},
{
"ItemId": "MVB500745",
"Parent": "MVB500671",
"SortPath": 1,
"ItemTitle": "Introduction to the WebBrowser Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500746",
"Parent": "MVB500671",
"SortPath": 2,
"ItemTitle": "Basic Operations of the WebBrowser Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500747",
"Parent": "MVB500671",
"SortPath": 3,
"ItemTitle": "Coding a Web Browser",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500748",
"Parent": "MVB500393",
"SortPath": 3,
"ItemTitle": "The COM Specification",
"ItemType": "leaf"
},
{
"ItemId": "MVB500749",
"Parent": "MVB500393",
"SortPath": 1,
"ItemTitle": "Overview of COM",
"ItemType": "leaf"
},
{
"ItemId": "MVB500750",
"Parent": "MVB500632",
"SortPath": 6,
"ItemTitle": "Dual Interfaces",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500751",
"Parent": "MVB500476",
"SortPath": 4,
"ItemTitle": "Sorting Easily with Version 4.0's DBGrid Control",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500752",
"Parent": "MVB500476",
"SortPath": 3,
"ItemTitle": "Building Document-Centered Interfaces with VB 4.0",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500753",
"Parent": "MVB500476",
"SortPath": 2,
"ItemTitle": "Adding Icons to the Taskbar Notification Area",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500754",
"Parent": "MVB500476",
"SortPath": 6,
"ItemTitle": "Working with DLLs",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500755",
"Parent": "MVB500476",
"SortPath": 4,
"ItemTitle": "Taking Advantage of VB 4.0 Compiler Directives",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500756",
"Parent": "MVB500477",
"SortPath": 7,
"ItemTitle": "Microsoft Visual Basic Control Creation Edition Version 5.0",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500757",
"Parent": "MVB500756",
"SortPath": 1,
"ItemTitle": "Environment Enhancements",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500224",
"Parent": "MVB500223",
"SortPath": 2,
"ItemTitle": "Designing the User Interface",
"ItemType": "folder"
},
{
"ItemId": "MVB500230",
"Parent": "MVB500223",
"SortPath": 3,
"ItemTitle": "Writing Code",
"ItemType": "folder"
},
{
"ItemId": "MVB500235",
"Parent": "MVB500538",
"SortPath": 1,
"ItemTitle": "Tools for Debugging",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500236",
"Parent": "MVB500569",
"SortPath": 1,
"ItemTitle": "Compiling an EXE File",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500237",
"Parent": "MVB500855",
"SortPath": 3,
"ItemTitle": "Editions of Visual Basic ",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500238",
"Parent": "MVB500855",
"SortPath": 4,
"ItemTitle": "Getting Assistance",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500239",
"Parent": "MVB500223",
"SortPath": 6,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500101",
"Parent": "MVB500223",
"SortPath": 7,
"ItemTitle": "Lab 1: Visual Basic Review ",
"ItemType": "labfolder"
},
{
"ItemId": "MVB500225",
"Parent": "MVB500224",
"SortPath": 1,
"ItemTitle": "Using Controls",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500226",
"Parent": "MVB500224",
"SortPath": 2,
"ItemTitle": "Setting Properties",
"ItemType": "leaf"
},
{
"ItemId": "MVB500228",
"Parent": "MVB500224",
"SortPath": 3,
"ItemTitle": "Adding a Menu",
"ItemType": "leaf"
},
{
"ItemId": "MVB500758",
"Parent": "MVB500477",
"SortPath": 7,
"ItemTitle": "Microsoft Visual Basic for Applications 5.0 Reviewer's Guide",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500759",
"Parent": "MVB500393",
"SortPath": 5,
"ItemTitle": "The IUnknown Interface",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500760",
"Parent": "MVB500757",
"SortPath": 1,
"ItemTitle": "Integrated Development Environment",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500761",
"Parent": "MVB500757",
"SortPath": 2,
"ItemTitle": "ActiveX Control Creation Tools",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500873",
"Parent": "MVB500475",
"SortPath": 13,
"ItemTitle": "Microsoft Visual Basic Events",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500231",
"Parent": "MVB500230",
"SortPath": 1,
"ItemTitle": "Creating Procedures",
"ItemType": "leaf"
},
{
"ItemId": "MVB500232",
"Parent": "MVB500230",
"SortPath": 2,
"ItemTitle": "Scope of Code",
"ItemType": "leaf"
},
{
"ItemId": "MVB500233",
"Parent": "MVB500230",
"SortPath": 3,
"ItemTitle": "Using the Object Browser to View Procedures",
"ItemType": "leaf"
},
{
"ItemId": "MVB500234",
"Parent": "MVB500230",
"SortPath": 4,
"ItemTitle": "Using Variables, Constants, and Data Types",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500247",
"Parent": "MVB500538",
"SortPath": 2,
"ItemTitle": "Validating Field Information",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500252",
"Parent": "MVB500538",
"SortPath": 3,
"ItemTitle": "Validating Form Information",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500268",
"Parent": "MVB500538",
"SortPath": 4,
"ItemTitle": "Handling Run-Time Errors",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500275",
"Parent": "MVB500538",
"SortPath": 5,
"ItemTitle": "Disabling Error Handling",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500282",
"Parent": "MVB500708",
"SortPath": 1,
"ItemTitle": "Data Access Options in Visual Basic",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500283",
"Parent": "MVB500708",
"SortPath": 2,
"ItemTitle": "Understanding Database Fundamentals",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500284",
"Parent": "MVB500281",
"SortPath": 2,
"ItemTitle": "Working with the Data Control",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500288",
"Parent": "MVB500284",
"SortPath": 5,
"ItemTitle": "Using the Data Form Wizard",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500875",
"Parent": "MVB500475",
"SortPath": 22,
"ItemTitle": "Microsoft Visual Basic Training",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500877",
"Parent": "MVB500475",
"SortPath": 14,
"ItemTitle": "Microsoft Visual Basic Feature Area",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500879",
"Parent": "MVB500475",
"SortPath": 21,
"ItemTitle": "Microsoft Visual Basic Tip of the Week",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500881",
"Parent": "MVB500475",
"SortPath": 15,
"ItemTitle": "Microsoft Visual Basic Free Downloads",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500883",
"Parent": "MVB500475",
"SortPath": 10,
"ItemTitle": "Microsoft Visual Basic Case Studies",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500885",
"Parent": "MVB500475",
"SortPath": 23,
"ItemTitle": "Microsoft Visual Basic What's New ",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500887",
"Parent": "MVB500475",
"SortPath": 11,
"ItemTitle": "Microsoft Visual Basic Community Resources",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500289",
"Parent": "MVB500281",
"SortPath": 3,
"ItemTitle": "Using Data Control Events",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500293",
"Parent": "MVB500321",
"SortPath": 3,
"ItemTitle": "Introduction to SQL",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500294",
"Parent": "MVB500281",
"SortPath": 4,
"ItemTitle": "Using ActiveX Data-Bound Controls",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500298",
"Parent": "MVB500281",
"SortPath": 5,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500130",
"Parent": "MVB500281",
"SortPath": 6,
"ItemTitle": "Lab 2: Using the Data Control",
"ItemType": "labfolder"
},
{
"ItemId": "MVB500285",
"Parent": "MVB500284",
"SortPath": 2,
"ItemTitle": "Using Data Control Properties and Methods",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500287",
"Parent": "MVB500284",
"SortPath": 4,
"ItemTitle": "Using Recordset Properties and Methods",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500290",
"Parent": "MVB500289",
"SortPath": 1,
"ItemTitle": "Using the Validate Event",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500291",
"Parent": "MVB500289",
"SortPath": 2,
"ItemTitle": "Using the Reposition Event",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500292",
"Parent": "MVB500289",
"SortPath": 3,
"ItemTitle": "Using the Error Event",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500295",
"Parent": "MVB500294",
"SortPath": 1,
"ItemTitle": "Using the DBGrid Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500296",
"Parent": "MVB500294",
"SortPath": 2,
"ItemTitle": "Using the MSFlexGrid Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500297",
"Parent": "MVB500294",
"SortPath": 3,
"ItemTitle": "Using the DBCombo Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500306",
"Parent": "MVB500305",
"SortPath": 1,
"ItemTitle": "Overview",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500310",
"Parent": "MVB500305",
"SortPath": 2,
"ItemTitle": "Working with Recordsets",
"ItemType": "folder"
},
{
"ItemId": "MVB500315",
"Parent": "MVB500305",
"SortPath": 3,
"ItemTitle": "Modifying Data",
"ItemType": "folder"
},
{
"ItemId": "MVB500319",
"Parent": "MVB500315",
"SortPath": 4,
"ItemTitle": "Using DAO with the Data Control",
"ItemType": "leaf"
},
{
"ItemId": "MVB500320",
"Parent": "MVB500305",
"SortPath": 4,
"ItemTitle": "Finding Records",
"ItemType": "folder"
},
{
"ItemId": "MVB500321",
"Parent": "MVB500305",
"SortPath": 5,
"ItemTitle": "Using Queries",
"ItemType": "folder"
},
{
"ItemId": "MVB500323",
"Parent": "MVB500305",
"SortPath": 6,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500140",
"Parent": "MVB500305",
"SortPath": 7,
"ItemTitle": "Lab 3: Using Data Access Objects",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500307",
"Parent": "MVB500306",
"SortPath": 1,
"ItemTitle": "The DAO Object Model",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500308",
"Parent": "MVB500306",
"SortPath": 2,
"ItemTitle": "The DBEngine and Workspace Objects",
"ItemType": "leaf"
},
{
"ItemId": "MVB500309",
"Parent": "MVB500310",
"SortPath": 1,
"ItemTitle": "Opening a Database",
"ItemType": "leaf"
},
{
"ItemId": "MVB500311",
"Parent": "MVB500310",
"SortPath": 2,
"ItemTitle": "Creating a Recordset",
"ItemType": "leaf"
},
{
"ItemId": "MVB500312",
"Parent": "MVB500310",
"SortPath": 3,
"ItemTitle": "Types of Recordsets",
"ItemType": "leaf"
},
{
"ItemId": "MVB500313",
"Parent": "MVB500310",
"SortPath": 4,
"ItemTitle": "Displaying Records",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500314",
"Parent": "MVB500310",
"SortPath": 5,
"ItemTitle": "Moving Through a Recordset",
"ItemType": "leaf"
},
{
"ItemId": "MVB500316",
"Parent": "MVB500315",
"SortPath": 1,
"ItemTitle": "Updating Records",
"ItemType": "leaf"
},
{
"ItemId": "MVB500317",
"Parent": "MVB500315",
"SortPath": 2,
"ItemTitle": "Adding Records",
"ItemType": "leaf"
},
{
"ItemId": "MVB500318",
"Parent": "MVB500315",
"SortPath": 3,
"ItemTitle": "Deleting Records",
"ItemType": "leaf"
},
{
"ItemId": "MVB500324",
"Parent": "MVB500320",
"SortPath": 1,
"ItemTitle": "Searching a Dynaset or Snapshot",
"ItemType": "leaf"
},
{
"ItemId": "MVB500325",
"Parent": "MVB500320",
"SortPath": 2,
"ItemTitle": "Searching a Table",
"ItemType": "leaf"
},
{
"ItemId": "MVB500322",
"Parent": "MVB500321",
"SortPath": 1,
"ItemTitle": "Using a Select Query",
"ItemType": "leaf"
},
{
"ItemId": "MVB500326",
"Parent": "MVB500321",
"SortPath": 2,
"ItemTitle": "Using an Action Query",
"ItemType": "leaf"
},
{
"ItemId": "MVB500327",
"Parent": "MVB500321",
"SortPath": 4,
"ItemTitle": "Using SQL",
"ItemType": "leaf"
},
{
"ItemId": "MVB500340",
"Parent": "MVB500339",
"SortPath": 1,
"ItemTitle": "Enforcing Data Integrity",
"ItemType": "folder"
},
{
"ItemId": "MVB500344",
"Parent": "MVB500339",
"SortPath": 2,
"ItemTitle": "Multiple-User Issues",
"ItemType": "folder"
},
{
"ItemId": "MVB500348",
"Parent": "MVB500339",
"SortPath": 3,
"ItemTitle": "Accessing External Data",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500354",
"Parent": "MVB500348",
"SortPath": 3,
"ItemTitle": "Working with Data Files",
"ItemType": "leaf"
},
{
"ItemId": "MVB500355",
"Parent": "MVB500339",
"SortPath": 5,
"ItemTitle": "Performance Issues",
"ItemType": "leaf"
},
{
"ItemId": "MVB500356",
"Parent": "MVB500339",
"SortPath": 6,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500159",
"Parent": "MVB500339",
"SortPath": 7,
"ItemTitle": "Lab 4: Advanced Database Development",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500341",
"Parent": "MVB500340",
"SortPath": 1,
"ItemTitle": "Defining Validation Rules",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500342",
"Parent": "MVB500340",
"SortPath": 2,
"ItemTitle": "Referential Integrity",
"ItemType": "leaf"
},
{
"ItemId": "MVB500343",
"Parent": "MVB500340",
"SortPath": 3,
"ItemTitle": "Transactions",
"ItemType": "leaf"
},
{
"ItemId": "MVB500345",
"Parent": "MVB500344",
"SortPath": 1,
"ItemTitle": "Opening a Table for Exclusive Use",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500346",
"Parent": "MVB500344",
"SortPath": 2,
"ItemTitle": "Microsoft Jet Database Engine Locking",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500347",
"Parent": "MVB500344",
"SortPath": 3,
"ItemTitle": "Handling Locking Errors",
"ItemType": "leaf"
},
{
"ItemId": "MVB500349",
"Parent": "MVB500348",
"SortPath": 1,
"ItemTitle": "Data Access Choices",
"ItemType": "leaf"
},
{
"ItemId": "MVB500351",
"Parent": "MVB500348",
"SortPath": 2,
"ItemTitle": "Accessing ISAM Databases",
"ItemType": "leaf"
},
{
"ItemId": "MVB500550",
"Parent": "MVB500422",
"SortPath": 1,
"ItemTitle": "Choosing the Type of Code Component",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500551",
"Parent": "MVB500429",
"SortPath": 7,
"ItemTitle": "Version Compatibility",
"ItemType": "leaf"
},
{
"ItemId": "MVB500552",
"Parent": "MVB500527",
"SortPath": 4,
"ItemTitle": "Canceling a Procedure Within an Event",
"ItemType": "leaf"
},
{
"ItemId": "MVB500553",
"Parent": "MVB500527",
"SortPath": 2,
"ItemTitle": "Handling Events in a Client",
"ItemType": "leaf"
},
{
"ItemId": "MVB500554",
"Parent": "MVB500414",
"SortPath": 6,
"ItemTitle": "Implementing an Interface",
"ItemType": "folder"
},
{
"ItemId": "MVB500555",
"Parent": "MVB500554",
"SortPath": 1,
"ItemTitle": "Using Interfaces",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500556",
"Parent": "MVB500554",
"SortPath": 2,
"ItemTitle": "Creating an Interface",
"ItemType": "leaf"
},
{
"ItemId": "MVB500374",
"Parent": "MVB500819",
"SortPath": 1,
"ItemTitle": "Introduction to DLLs",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500378",
"Parent": "MVB500820",
"SortPath": 1,
"ItemTitle": "Using the Declare Statement",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500379",
"Parent": "MVB500820",
"SortPath": 2,
"ItemTitle": "Converting C Declarations to Visual Basic Data Types",
"ItemType": "leaf"
},
{
"ItemId": "MVB500380",
"Parent": "MVB500822",
"SortPath": 1,
"ItemTitle": "Passing Null Values",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500381",
"Parent": "MVB500822",
"SortPath": 3,
"ItemTitle": "Passing Strings",
"ItemType": "leaf"
},
{
"ItemId": "MVB500382",
"Parent": "MVB500820",
"SortPath": 4,
"ItemTitle": "Unicode vs. ANSI DLLs",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500383",
"Parent": "MVB500823",
"SortPath": 2,
"ItemTitle": "Creating a Wrapper Procedure",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500384",
"Parent": "MVB500823",
"SortPath": 3,
"ItemTitle": "Useful DLLs",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500385",
"Parent": "MVB500373",
"SortPath": 5,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500170",
"Parent": "MVB500373",
"SortPath": 6,
"ItemTitle": "Lab 5: Using Dynamic-Link Libraries",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500376",
"Parent": "MVB500819",
"SortPath": 3,
"ItemTitle": "Using DLLs with Visual Basic",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500377",
"Parent": "MVB500819",
"SortPath": 4,
"ItemTitle": "Using the API Viewer",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500393",
"Parent": "MVB500392",
"SortPath": 1,
"ItemTitle": "The Component Object Model",
"ItemType": "folder"
},
{
"ItemId": "MVB500394",
"Parent": "MVB500392",
"SortPath": 6,
"ItemTitle": "Creating a Client that Uses Microsoft Excel",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500401",
"Parent": "MVB500392",
"SortPath": 7,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500175",
"Parent": "MVB500392",
"SortPath": 8,
"ItemTitle": "Lab 6: Creating ActiveX Clients",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500560",
"Parent": "MVB500416",
"SortPath": 6,
"ItemTitle": "Using Property Procedures to Create Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500562",
"Parent": "MVB500429",
"SortPath": 1,
"ItemTitle": "Using Named Constants",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500662",
"Parent": "MVB500583",
"SortPath": 2,
"ItemTitle": "Coding Property Page Behavior",
"ItemType": "leaf"
},
{
"ItemId": "MVB500762",
"Parent": "MVB500757",
"SortPath": 3,
"ItemTitle": "Extensibility - ActiveX Controls",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500395",
"Parent": "MVB500394",
"SortPath": 1,
"ItemTitle": "The Microsoft Excel Object Model",
"ItemType": "leaf"
},
{
"ItemId": "MVB500396",
"Parent": "MVB500394",
"SortPath": 2,
"ItemTitle": "Creating an Instance of Microsoft Excel",
"ItemType": "leaf"
},
{
"ItemId": "MVB500397",
"Parent": "MVB500394",
"SortPath": 3,
"ItemTitle": "Using Methods in Microsoft Excel",
"ItemType": "leaf"
},
{
"ItemId": "MVB500398",
"Parent": "MVB500394",
"SortPath": 4,
"ItemTitle": "Getting and Setting Values",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500399",
"Parent": "MVB500394",
"SortPath": 5,
"ItemTitle": "Using the Charts Collection",
"ItemType": "leaf"
},
{
"ItemId": "MVB500400",
"Parent": "MVB500394",
"SortPath": 6,
"ItemTitle": "Running a Microsoft Excel Procedure",
"ItemType": "leaf"
},
{
"ItemId": "MVB500415",
"Parent": "MVB500525",
"SortPath": 2,
"ItemTitle": "Advantages of Using ActiveX Code Components",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500416",
"Parent": "MVB500414",
"SortPath": 2,
"ItemTitle": "Creating Objects in Visual Basic",
"ItemType": "folder"
},
{
"ItemId": "MVB500422",
"Parent": "MVB500414",
"SortPath": 3,
"ItemTitle": "Working with ActiveX Code Component Projects",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500429",
"Parent": "MVB500414",
"SortPath": 7,
"ItemTitle": "Additional Features of Code Components",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500437",
"Parent": "MVB500414",
"SortPath": 8,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500185",
"Parent": "MVB500414",
"SortPath": 9,
"ItemTitle": "Lab 7: Creating ActiveX Code Components",
"ItemType": "labfolder"
},
{
"ItemId": "MVB500417",
"Parent": "MVB500416",
"SortPath": 1,
"ItemTitle": "What Is a Class Module?",
"ItemType": "leaf"
},
{
"ItemId": "MVB500418",
"Parent": "MVB500416",
"SortPath": 2,
"ItemTitle": "Creating an Instance of a Class",
"ItemType": "leaf"
},
{
"ItemId": "MVB500419",
"Parent": "MVB500416",
"SortPath": 3,
"ItemTitle": "Class Module Events",
"ItemType": "leaf"
},
{
"ItemId": "MVB500420",
"Parent": "MVB500416",
"SortPath": 4,
"ItemTitle": "Creating Methods",
"ItemType": "leaf"
},
{
"ItemId": "MVB500421",
"Parent": "MVB500416",
"SortPath": 5,
"ItemTitle": "Creating Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500423",
"Parent": "MVB500422",
"SortPath": 2,
"ItemTitle": "Setting Project Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500424",
"Parent": "MVB500422",
"SortPath": 3,
"ItemTitle": "Setting Class Module Properties",
"ItemType": "leaf"
},
{
"ItemId": "MVB500427",
"Parent": "MVB500422",
"SortPath": 4,
"ItemTitle": "Compiling a Component",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500428",
"Parent": "MVB500422",
"SortPath": 5,
"ItemTitle": "Registering a Component",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500430",
"Parent": "MVB500429",
"SortPath": 2,
"ItemTitle": "Component Information and Help",
"ItemType": "leaf"
},
{
"ItemId": "MVB500431",
"Parent": "MVB500429",
"SortPath": 3,
"ItemTitle": "Global Data Scoping",
"ItemType": "leaf"
},
{
"ItemId": "MVB500432",
"Parent": "MVB500531",
"SortPath": 5,
"ItemTitle": "Raising Run-Time Errors",
"ItemType": "leaf"
},
{
"ItemId": "MVB500433",
"Parent": "MVB500429",
"SortPath": 5,
"ItemTitle": "Creating an Object Model",
"ItemType": "leaf"
},
{
"ItemId": "MVB500434",
"Parent": "MVB500429",
"SortPath": 6,
"ItemTitle": "Storing Objects in a Collection",
"ItemType": "leaf"
},
{
"ItemId": "MVB500436",
"Parent": "MVB500527",
"SortPath": 3,
"ItemTitle": "Making Asynchronous Calls with Events",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500575",
"Parent": "MVB500660",
"SortPath": 4,
"ItemTitle": "Persisting Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500576",
"Parent": "MVB500535",
"SortPath": 5,
"ItemTitle": "The User Interface and User Documents",
"ItemType": "folder"
},
{
"ItemId": "MVB500577",
"Parent": "MVB500576",
"SortPath": 1,
"ItemTitle": "Setting User Document Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500578",
"Parent": "MVB500576",
"SortPath": 2,
"ItemTitle": "Adding Menus to a User Document",
"ItemType": "leaf"
},
{
"ItemId": "MVB500580",
"Parent": "MVB500429",
"SortPath": 8,
"ItemTitle": "Handling a Busy Component",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500581",
"Parent": "MVB500534",
"SortPath": 1,
"ItemTitle": "Overview",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500582",
"Parent": "MVB500534",
"SortPath": 4,
"ItemTitle": "Exposing Properties, Methods, and Events",
"ItemType": "folder"
},
{
"ItemId": "MVB500583",
"Parent": "MVB500534",
"SortPath": 5,
"ItemTitle": "Creating Property Pages",
"ItemType": "folder"
},
{
"ItemId": "MVB500584",
"Parent": "MVB500534",
"SortPath": 3,
"ItemTitle": "Testing a Control",
"ItemType": "folder"
},
{
"ItemId": "MVB500585",
"Parent": "MVB500534",
"SortPath": 9,
"ItemTitle": "Lab 8: Creating ActiveX Controls",
"ItemType": "labfolder"
},
{
"ItemId": "MVB500586",
"Parent": "MVB500534",
"SortPath": 7,
"ItemTitle": "Distributing a Control",
"ItemType": "folder"
},
{
"ItemId": "MVB500587",
"Parent": "MVB500581",
"SortPath": 1,
"ItemTitle": "Introduction to Controls",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500588",
"Parent": "MVB500581",
"SortPath": 2,
"ItemTitle": "Options for Distributing Controls",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500589",
"Parent": "MVB500534",
"SortPath": 2,
"ItemTitle": "Creating a Control's User Interface",
"ItemType": "folder"
},
{
"ItemId": "MVB500590",
"Parent": "MVB500584",
"SortPath": 2,
"ItemTitle": "Control Instancing and Events",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500591",
"Parent": "MVB500585",
"SortPath": 6,
"ItemTitle": "Exercise 6: (Optional) Creating a Data-Bound Control",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500592",
"Parent": "MVB500585",
"SortPath": 5,
"ItemTitle": "Exercise 5: Creating a Property Page",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500842",
"Parent": "MVB500457",
"SortPath": 2,
"ItemTitle": "Optimizing an Application",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500458",
"Parent": "MVB500457",
"SortPath": 1,
"ItemTitle": "Creating a Setup Program",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500464",
"Parent": "MVB500843",
"SortPath": 1,
"ItemTitle": "Using Visual SourceSafe",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500468",
"Parent": "MVB500843",
"SortPath": 2,
"ItemTitle": "Using Resource Files",
"ItemType": "leaf"
},
{
"ItemId": "MVB500470",
"Parent": "MVB500842",
"SortPath": 2,
"ItemTitle": "Saving Application Settings",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500471",
"Parent": "MVB500457",
"SortPath": 4,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500213",
"Parent": "MVB500457",
"SortPath": 5,
"ItemTitle": "Lab 12: Application Setup and Optimization",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500459",
"Parent": "MVB500458",
"SortPath": 1,
"ItemTitle": "Using the Setup Wizard",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500460",
"Parent": "MVB500458",
"SortPath": 2,
"ItemTitle": "Setup Files",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500461",
"Parent": "MVB500458",
"SortPath": 3,
"ItemTitle": "Using the Setup Toolkit",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500462",
"Parent": "MVB500458",
"SortPath": 4,
"ItemTitle": "Removing an Application",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500467",
"Parent": "MVB500842",
"SortPath": 1,
"ItemTitle": "The Visual Basic Code Profiler",
"ItemType": "leaf"
},
{
"ItemId": "MVB500593",
"Parent": "MVB500585",
"SortPath": 4,
"ItemTitle": "Exercise 4: Raising an Event",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500594",
"Parent": "MVB500585",
"SortPath": 2,
"ItemTitle": "Exercise 2: Adding Properties and Methods",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500595",
"Parent": "MVB500585",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating a Control",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500596",
"Parent": "MVB500581",
"SortPath": 3,
"ItemTitle": "Steps for Creating an ActiveX Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB501435",
"Parent": "sampcode",
"SortPath": 4,
"ItemTitle": "Chapter 5: Using Dynamic-Link Libraries",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501436",
"Parent": "sampcode",
"SortPath": 5,
"ItemTitle": "Chapter 6: Creating ActiveX Clients",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501437",
"Parent": "sampcode",
"SortPath": 6,
"ItemTitle": "Chapter 7: Creating ActiveX Code Components",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501438",
"Parent": "sampcode",
"SortPath": 7,
"ItemTitle": "Chapter 8: Creating ActiveX Controls",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501439",
"Parent": "sampcode",
"SortPath": 8,
"ItemTitle": "Chapter 9: Using ActiveX Components on a Web Page",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500898",
"Parent": "MVB500475",
"SortPath": 17,
"ItemTitle": "Microsoft Visual Basic Links",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500902",
"Parent": "MVB500230",
"SortPath": 5,
"ItemTitle": "Scope of Variables",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500905",
"Parent": "MVB500531",
"SortPath": 2,
"ItemTitle": "Setting a Reference to a Type Library",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB501442",
"Parent": "sampcode",
"SortPath": 9,
"ItemTitle": "Chapter 12: Application Setup and Optimization",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501443",
"Parent": "mm",
"SortPath": 3,
"ItemTitle": "Chapter 3: Using Data Access Objects",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB501444",
"Parent": "mm",
"SortPath": 4,
"ItemTitle": "Chapter 4: Advanced Database Development",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501445",
"Parent": "mm",
"SortPath": 7,
"ItemTitle": "Chapter 7: Creating ActiveX Code Components",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501446",
"Parent": "mm",
"SortPath": 10,
"ItemTitle": "Chapter 10: Creating and Using ActiveX Documents",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501447",
"Parent": "mm",
"SortPath": 11,
"ItemTitle": "Chapter 11: Creating Internet-Aware Applications",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB501448",
"Parent": "mm",
"SortPath": 12,
"ItemTitle": "Chapter 12: Application Setup and Optimization",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500907",
"Parent": "MVB500539",
"SortPath": 2,
"ItemTitle": "ActiveX Documents vs. Embedded Objects",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500908",
"Parent": "MVB500540",
"SortPath": 3,
"ItemTitle": "Compiling an ActiveX Document Project",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500909",
"Parent": "MVB500540",
"SortPath": 4,
"ItemTitle": "Siting an ActiveX Document",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500910",
"Parent": "MVB500540",
"SortPath": 7,
"ItemTitle": "Determining the Document Container Type",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500763",
"Parent": "MVB500757",
"SortPath": 4,
"ItemTitle": "Customizable Development Environment",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500764",
"Parent": "MVB500756",
"SortPath": 2,
"ItemTitle": "Creating Your First ActiveX Control",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500765",
"Parent": "MVB500675",
"SortPath": 1,
"ItemTitle": "Exercise 1: Building the Browser Application",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500766",
"Parent": "MVB500675",
"SortPath": 2,
"ItemTitle": "Exercise 2: Building the FTP Download Component",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500767",
"Parent": "MVB500675",
"SortPath": 3,
"ItemTitle": "Exercise 3: Adding Browser Capabilities to the Component",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500768",
"Parent": "MVB500764",
"SortPath": 1,
"ItemTitle": "Step 1: Create a Test Container",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500769",
"Parent": "MVB500764",
"SortPath": 2,
"ItemTitle": "Step 2: Add a Blank ActiveX Control Project",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500770",
"Parent": "MVB500764",
"SortPath": 3,
"ItemTitle": "Step 3: Draw the Visual Interface for the Control",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500771",
"Parent": "MVB500764",
"SortPath": 4,
"ItemTitle": "Step 4: Write Event Driven Code",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500772",
"Parent": "MVB500764",
"SortPath": 5,
"ItemTitle": "Step 5: Use and Test the Control",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500773",
"Parent": "MVB500764",
"SortPath": 6,
"ItemTitle": "Where To Go From Here?",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500774",
"Parent": "MVB500756",
"SortPath": 3,
"ItemTitle": "FAQs",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500775",
"Parent": "MVB500758",
"SortPath": 1,
"ItemTitle": "Visual Basic for Applications, vers. 5.0 Features",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500776",
"Parent": "MVB500670",
"SortPath": 4,
"ItemTitle": "Coding a Winsock Client",
"ItemType": "leaf"
},
{
"ItemId": "MVB500777",
"Parent": "MVB500775",
"SortPath": 1,
"ItemTitle": "Integrated Development Environment",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500778",
"Parent": "MVB500775",
"SortPath": 2,
"ItemTitle": "ActiveX Controls",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500779",
"Parent": "MVB500775",
"SortPath": 3,
"ItemTitle": "Microsoft Forms",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500780",
"Parent": "MVB500699",
"SortPath": 3,
"ItemTitle": "Starting Internet Services",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500781",
"Parent": "MVB500672",
"SortPath": 1,
"ItemTitle": "Introduction to the InternetExplorer Object",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500782",
"Parent": "MVB500672",
"SortPath": 2,
"ItemTitle": "Using the InternetExplorer Object",
"ItemType": "leaf"
},
{
"ItemId": "MVB500783",
"Parent": "MVB500632",
"SortPath": 2,
"ItemTitle": "Type Libraries",
"ItemType": "leaf"
},
{
"ItemId": "MVB500784",
"Parent": "MVB500632",
"SortPath": 3,
"ItemTitle": "The Object Browser",
"ItemType": "leaf"
},
{
"ItemId": "MVB500786",
"Parent": "MVB500632",
"SortPath": 4,
"ItemTitle": "Object Models",
"ItemType": "leaf"
},
{
"ItemId": "MVB500788",
"Parent": "MVB500477",
"SortPath": 5,
"ItemTitle": "Deploying Controls on the Web",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500789",
"Parent": "MVB500711",
"SortPath": 1,
"ItemTitle": "Component Benefits",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500790",
"Parent": "MVB500711",
"SortPath": 2,
"ItemTitle": "Component Requirements",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500791",
"Parent": "MVB500711",
"SortPath": 3,
"ItemTitle": "COM",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500792",
"Parent": "MVB500711",
"SortPath": 4,
"ItemTitle": "Component Conclusions",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500843",
"Parent": "MVB500457",
"SortPath": 3,
"ItemTitle": "Maximizing Your Productivity",
"ItemType": "chptFolder"
},
{
"ItemId": "MVB500844",
"Parent": "MVB500842",
"SortPath": 3,
"ItemTitle": "Tuning an Application",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500598",
"Parent": "MVB500585",
"SortPath": 3,
"ItemTitle": "Exercise 3: Saving and Loading Properties",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500476",
"Parent": "articles",
"SortPath": 1,
"ItemTitle": "Technical Articles",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500599",
"Parent": "MVB500586",
"SortPath": 2,
"ItemTitle": "Creating a Control Setup Program",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500600",
"Parent": "MVB500586",
"SortPath": 1,
"ItemTitle": "Licensing Controls",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500601",
"Parent": "MVB500589",
"SortPath": 1,
"ItemTitle": "Adding Constituent Controls",
"ItemType": "leaf"
},
{
"ItemId": "MVB500602",
"Parent": "MVB500589",
"SortPath": 3,
"ItemTitle": "Creating a Container Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500793",
"Parent": "MVB500788",
"SortPath": 1,
"ItemTitle": "Steps to Preparing Your Control for the Web",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500794",
"Parent": "MVB500788",
"SortPath": 3,
"ItemTitle": "Deployment Steps in Depth",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500795",
"Parent": "MVB500794",
"SortPath": 1,
"ItemTitle": "Digital Signing Explained",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500796",
"Parent": "MVB500794",
"SortPath": 2,
"ItemTitle": "Marking Controls as Safe for Scripting and Safe for Initialization",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500797",
"Parent": "MVB500794",
"SortPath": 3,
"ItemTitle": "Licensing of Software on the Internet",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500798",
"Parent": "MVB500788",
"SortPath": 4,
"ItemTitle": "Testing Your Internet Component Download",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500477",
"Parent": "articles",
"SortPath": 2,
"ItemTitle": "Technical Whitepapers",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500478",
"Parent": "resources",
"SortPath": 2,
"ItemTitle": "Microsoft Technical Support",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500479",
"Parent": "resources",
"SortPath": 3,
"ItemTitle": "Microsoft Technical Training and Education",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500480",
"Parent": "resources",
"SortPath": 5,
"ItemTitle": "Publishers",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500481",
"Parent": "resources",
"SortPath": 4,
"ItemTitle": "Lists and References",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500505",
"Parent": "MVB500504",
"SortPath": 1,
"ItemTitle": "The Microsoft Mastering Series",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500507",
"Parent": "MVB500505",
"SortPath": 3,
"ItemTitle": "Mastering Microsoft Exchange Development",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500509",
"Parent": "MVB500505",
"SortPath": 2,
"ItemTitle": "Mastering Microsoft Visual C++4",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500510",
"Parent": "MVB500505",
"SortPath": 1,
"ItemTitle": "Mastering Microsoft Visual FoxPro",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500511",
"Parent": "MVB500479",
"SortPath": 1,
"ItemTitle": "Face-to-Face Training",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500512",
"Parent": "MVB500479",
"SortPath": 2,
"ItemTitle": "Microsoft Online Institute",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500514",
"Parent": "MVB500481",
"SortPath": 2,
"ItemTitle": "User Groups",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500604",
"Parent": "MVB500582",
"SortPath": 1,
"ItemTitle": "Adding Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500605",
"Parent": "MVB500582",
"SortPath": 3,
"ItemTitle": "Using Ambient Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500515",
"Parent": "MVB500476",
"SortPath": 5,
"ItemTitle": "Visual Basic Naming Conventions",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500516",
"Parent": "MVB500515",
"SortPath": 1,
"ItemTitle": "Why Coding Conventions?",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500517",
"Parent": "MVB500515",
"SortPath": 2,
"ItemTitle": "Object Naming Conventions",
"ItemType": "librFolder"
},
{
"ItemId": "MVB500518",
"Parent": "MVB500517",
"SortPath": 1,
"ItemTitle": "Suggested Prefixes for Controls",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500519",
"Parent": "MVB500517",
"SortPath": 2,
"ItemTitle": "Suggested Prefixes for Data Access Objects (DAO)",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500520",
"Parent": "MVB500517",
"SortPath": 3,
"ItemTitle": "Suggested Prefixes for Menus",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500521",
"Parent": "MVB500517",
"SortPath": 4,
"ItemTitle": "Choosing Prefixes for Other Controls",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500522",
"Parent": "MVB500515",
"SortPath": 3,
"ItemTitle": "Constant and Variable Naming Conventions",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500523",
"Parent": "MVB500515",
"SortPath": 4,
"ItemTitle": "Structured Coding Conventions",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500524",
"Parent": "MVB500505",
"SortPath": 4,
"ItemTitle": "Mastering Internet Development with Microsoft ActiveX Technologies",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500525",
"Parent": "MVB500414",
"SortPath": 1,
"ItemTitle": "Overview",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500526",
"Parent": "MVB500525",
"SortPath": 1,
"ItemTitle": "Introduction to ActiveX Components",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500799",
"Parent": "MVB500788",
"SortPath": 5,
"ItemTitle": "Advanced Customization Through the .inf File",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500800",
"Parent": "MVB500788",
"SortPath": 6,
"ItemTitle": "Appendix: Check List of Resources",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500527",
"Parent": "MVB500414",
"SortPath": 5,
"ItemTitle": "Using Events",
"ItemType": "folder"
},
{
"ItemId": "MVB500529",
"Parent": "MVB500527",
"SortPath": 1,
"ItemTitle": "Adding Events to a Class",
"ItemType": "leaf"
},
{
"ItemId": "MVB500530",
"Parent": "MVB500429",
"SortPath": 4,
"ItemTitle": "Declaring Friend Methods",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500531",
"Parent": "MVB500414",
"SortPath": 4,
"ItemTitle": "Testing ActiveX Code Components",
"ItemType": "folder"
},
{
"ItemId": "MVB500607",
"Parent": "MVB500589",
"SortPath": 4,
"ItemTitle": "Adding an About Box",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500608",
"Parent": "MVB500589",
"SortPath": 5,
"ItemTitle": "Specifying a Toolbox Bitmap",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500609",
"Parent": "MVB500534",
"SortPath": 6,
"ItemTitle": "Data Binding",
"ItemType": "folder"
},
{
"ItemId": "MVB500611",
"Parent": "MVB500609",
"SortPath": 1,
"ItemTitle": "Making a Control Bindable",
"ItemType": "leaf"
},
{
"ItemId": "MVB500612",
"Parent": "MVB500609",
"SortPath": 2,
"ItemTitle": "Updating Bound Properties",
"ItemType": "leaf"
},
{
"ItemId": "MVB500615",
"Parent": "MVB500535",
"SortPath": 7,
"ItemTitle": "Lab 10: Creating and Using ActiveX Documents",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500617",
"Parent": "MVB500589",
"SortPath": 2,
"ItemTitle": "Sizing a Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500618",
"Parent": "MVB500582",
"SortPath": 4,
"ItemTitle": "Storing and Retrieving Property Values",
"ItemType": "leaf"
},
{
"ItemId": "MVB500619",
"Parent": "MVB500582",
"SortPath": 7,
"ItemTitle": "Using the ActiveX Control Interface Wizard",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500620",
"Parent": "MVB500582",
"SortPath": 5,
"ItemTitle": "Exposing Named Constants",
"ItemType": "leaf"
},
{
"ItemId": "MVB500801",
"Parent": "MVB500788",
"SortPath": 7,
"ItemTitle": "Appendix: Creating a Professional Internet Component Download",
"ItemType": "librleaf"
},
{
"ItemId": "MVB500802",
"Parent": "MVB500788",
"SortPath": 2,
"ItemTitle": "Preparing Software for Internet/intranet Download with Setup Wizard",
"ItemType": "librLeaf"
},
{
"ItemId": "MVB500846",
"Parent": "MVB500842",
"SortPath": 4,
"ItemTitle": "Logging Events",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500621",
"Parent": "MVB500615",
"SortPath": 4,
"ItemTitle": "Exercise 4: (Optional) Creating a Document Container",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500622",
"Parent": "MVB500582",
"SortPath": 2,
"ItemTitle": "Adding Methods",
"ItemType": "leaf"
},
{
"ItemId": "MVB500624",
"Parent": "MVB500582",
"SortPath": 6,
"ItemTitle": "Raising Control Events",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500625",
"Parent": "MVB500583",
"SortPath": 1,
"ItemTitle": "Creating the Property Page Interface",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500626",
"Parent": "MVB500583",
"SortPath": 3,
"ItemTitle": "Establishing Property Page Relationships",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500663",
"Parent": "MVB500583",
"SortPath": 4,
"ItemTitle": "Using Standard Property Pages",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500670",
"Parent": "MVB500537",
"SortPath": 1,
"ItemTitle": "Using Sockets",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500847",
"Parent": "MVB500679",
"SortPath": 2,
"ItemTitle": "Adding Code to an HTML Page",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500632",
"Parent": "MVB500392",
"SortPath": 2,
"ItemTitle": "Implementing Automation",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500649",
"Parent": "MVB500539",
"SortPath": 3,
"ItemTitle": "Advantages of Using ActiveX Documents",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500664",
"Parent": "MVB500660",
"SortPath": 3,
"ItemTitle": "Adding Properties",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500671",
"Parent": "MVB500537",
"SortPath": 3,
"ItemTitle": "Using the WebBrowser Control",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500676",
"Parent": "MVB500536",
"SortPath": 1,
"ItemTitle": "Overview",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500639",
"Parent": "MVB500393",
"SortPath": 2,
"ItemTitle": "Advantages of Using COM",
"ItemType": "leaf"
},
{
"ItemId": "MVB500640",
"Parent": "MVB500393",
"SortPath": 6,
"ItemTitle": "Client and Server Communication",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500641",
"Parent": "MVB500632",
"SortPath": 1,
"ItemTitle": "Automation Objects",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500642",
"Parent": "MVB500632",
"SortPath": 5,
"ItemTitle": "The IDispatch Interface",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500643",
"Parent": "MVB500632",
"SortPath": 7,
"ItemTitle": "Introduction to Binding",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500644",
"Parent": "MVB500392",
"SortPath": 3,
"ItemTitle": "Characteristics of Server Components ",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500645",
"Parent": "MVB500644",
"SortPath": 1,
"ItemTitle": "Setting the Instancing Property",
"ItemType": "leaf"
},
{
"ItemId": "MVB500646",
"Parent": "MVB500644",
"SortPath": 3,
"ItemTitle": "Notifying Clients",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500647",
"Parent": "MVB500392",
"SortPath": 4,
"ItemTitle": "Creating a Client in Visual Basic",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500648",
"Parent": "MVB500647",
"SortPath": 1,
"ItemTitle": "Setting References",
"ItemType": "leaf"
},
{
"ItemId": "MVB500656",
"Parent": "MVB500665",
"SortPath": 2,
"ItemTitle": "Server Notifications Using Callbacks",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500657",
"Parent": "MVB500647",
"SortPath": 5,
"ItemTitle": "Getting to Additional Interfaces",
"ItemType": "leaf"
},
{
"ItemId": "MVB500665",
"Parent": "MVB500392",
"SortPath": 5,
"ItemTitle": "Receiving Notifications from Servers",
"ItemType": "folder"
},
{
"ItemId": "MVB500666",
"Parent": "MVB500647",
"SortPath": 3,
"ItemTitle": "Creating Objects",
"ItemType": "leaf"
},
{
"ItemId": "MVB500667",
"Parent": "MVB500647",
"SortPath": 4,
"ItemTitle": "Using Automation Objects",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500668",
"Parent": "MVB500665",
"SortPath": 1,
"ItemTitle": "Server Notifications Using Events",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500672",
"Parent": "MVB500537",
"SortPath": 4,
"ItemTitle": "Using Automation with Internet Explorer",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500673",
"Parent": "MVB500537",
"SortPath": 2,
"ItemTitle": "Enabling FTP and HTTP Connections to the Internet",
"ItemType": "folder"
},
{
"ItemId": "MVB500674",
"Parent": "MVB500537",
"SortPath": 6,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkleaf"
},
{
"ItemId": "MVB500675",
"Parent": "MVB500537",
"SortPath": 7,
"ItemTitle": "Lab 11: Creating Internet-Aware Applications",
"ItemType": "labFolder"
},
{
"ItemId": "MVB500677",
"Parent": "MVB500536",
"SortPath": 2,
"ItemTitle": "Downloading Controls",
"ItemType": "folder"
},
{
"ItemId": "MVB500678",
"Parent": "MVB500679",
"SortPath": 5,
"ItemTitle": "Setting Initial Control Properties",
"ItemType": "leaf"
},
{
"ItemId": "MVB500679",
"Parent": "MVB500536",
"SortPath": 3,
"ItemTitle": "Scripting a Control",
"ItemType": "folder"
},
{
"ItemId": "MVB500680",
"Parent": "MVB500536",
"SortPath": 4,
"ItemTitle": "Providing Security for Components",
"ItemType": "chptfolder"
},
{
"ItemId": "MVB500681",
"Parent": "MVB500676",
"SortPath": 2,
"ItemTitle": "Advantages of Using Controls on a Web Page",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500682",
"Parent": "MVB500677",
"SortPath": 1,
"ItemTitle": "Steps for Downloading a Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500683",
"Parent": "MVB500679",
"SortPath": 1,
"ItemTitle": "Introduction to Visual Basic Scripting Edition",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500684",
"Parent": "MVB500679",
"SortPath": 3,
"ItemTitle": "Using Properties and Methods",
"ItemType": "leaf"
},
{
"ItemId": "MVB500685",
"Parent": "MVB500679",
"SortPath": 4,
"ItemTitle": "Creating Procedures",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500686",
"Parent": "MVB500536",
"SortPath": 6,
"ItemTitle": "Lab 9: Using ActiveX Components on a Web Page",
"ItemType": "labfolder"
},
{
"ItemId": "MVB500687",
"Parent": "MVB500680",
"SortPath": 1,
"ItemTitle": "Component Security Options",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500688",
"Parent": "MVB500677",
"SortPath": 2,
"ItemTitle": "Packaging a Control",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500689",
"Parent": "MVB500677",
"SortPath": 3,
"ItemTitle": "Adding a Control to an HTML Page",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500690",
"Parent": "MVB500680",
"SortPath": 3,
"ItemTitle": "Code Safety ",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500691",
"Parent": "MVB500686",
"SortPath": 1,
"ItemTitle": "Exercise 1: Creating a Setup Package",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500692",
"Parent": "MVB500686",
"SortPath": 3,
"ItemTitle": "Exercise 3: (Optional) Adding Licensing",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500693",
"Parent": "MVB500686",
"SortPath": 2,
"ItemTitle": "Exercise 2: Scripting a Control",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500694",
"Parent": "MVB500680",
"SortPath": 2,
"ItemTitle": "Signing a Control",
"ItemType": "leaf"
},
{
"ItemId": "MVB500695",
"Parent": "MVB500677",
"SortPath": 4,
"ItemTitle": "Including Licensing with Your Controls",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500807",
"Parent": "MVB500675",
"SortPath": 4,
"ItemTitle": "Exercise 4: Coding a Chat Session Application",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500809",
"Parent": "MVB500823",
"SortPath": 1,
"ItemTitle": "Providing Callback Procedures",
"ItemType": "leaf"
},
{
"ItemId": "MVB500811",
"Parent": "MVB500170",
"SortPath": 3,
"ItemTitle": "Exercise 3: Using Callbacks",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500934",
"Parent": "labs",
"SortPath": 1,
"ItemTitle": "Lab 1: Visual Basic Review",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500935",
"Parent": "labs",
"SortPath": 2,
"ItemTitle": "Lab 2: Using the Data Control",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500936",
"Parent": "MVB500339",
"SortPath": 4,
"ItemTitle": "Accessing ODBC Databases",
"ItemType": "chptFolder"
},
{
"ItemId": "MVB500937",
"Parent": "labs",
"SortPath": 3,
"ItemTitle": "Lab 3: Using Data Access Objects",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500938",
"Parent": "MVB500936",
"SortPath": 1,
"ItemTitle": "Defining an ODBCDirect Workspace",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500939",
"Parent": "MVB500936",
"SortPath": 2,
"ItemTitle": "Connecting to a Remote Data Source",
"ItemType": "chptleaf"
},
{
"ItemId": "MVB500940",
"Parent": "MVB500936",
"SortPath": 3,
"ItemTitle": "Retrieving Remote Data",
"ItemType": "chptLeaf"
},
{
"ItemId": "MVB500941",
"Parent": "labs",
"SortPath": 4,
"ItemTitle": "Lab 4: Advanced Database Development",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500942",
"Parent": "labs",
"SortPath": 5,
"ItemTitle": "Lab 5: Using Dynamic-Link Libraries",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500943",
"Parent": "labs",
"SortPath": 6,
"ItemTitle": "Lab 6: Creating ActiveX Clients",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500944",
"Parent": "labs",
"SortPath": 7,
"ItemTitle": "Lab 7: Creating ActiveX Code Components",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500945",
"Parent": "MVB500534",
"SortPath": 8,
"ItemTitle": "Self-Check Questions",
"ItemType": "chkLeaf"
},
{
"ItemId": "MVB500946",
"Parent": "labs",
"SortPath": 8,
"ItemTitle": "Lab 8: Creating ActiveX Controls",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500947",
"Parent": "labs",
"SortPath": 9,
"ItemTitle": "Lab 9: Using ActiveX Components on a Web Page",
"ItemType": "lableaf"
},
{
"ItemId": "MVB500948",
"Parent": "labs",
"SortPath": 10,
"ItemTitle": "Lab 10: Creating and Using ActiveX Documents",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500949",
"Parent": "labs",
"SortPath": 11,
"ItemTitle": "Lab 11: Creating Internet-Aware Applications",
"ItemType": "labLeaf"
},
{
"ItemId": "MVB500950",
"Parent": "labs",
"SortPath": 12,
"ItemTitle": "Lab 12: Application Setup and Optimization",
"ItemType": "labLeaf"
}
]
}